package LogicaFM;

import java.util.ArrayList;
import java.util.Date;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import ExcepcionesFM.ExcepcionEquipoInvalido;
import ExcepcionesFM.ExcepcionFechaCerrada;
import ExcepcionesFM.ExcepcionFechaInvalida;
import ExcepcionesFM.ExcepcionFiguraEnPuntuacion;
import ExcepcionesFM.ExcepcionJugadorInvalido;
import ExcepcionesFM.ExcepcionNoSeleccion;
import ExcepcionesFM.ExcepcionPuntuacionInvalida;
import ExcepcionesFM.ExcepcionUsuarioInexistente;
import GestionDatosFM.GestorEquipoFantasia;
import GestionDatosFM.GestorFecha;
import GestionDatosFM.GestorFormacionEquipoFantasia;
import GestionDatosFM.GestorJugador;
import GestionDatosFM.GestorPartido;
import GestionDatosFM.GestorPuntuacion;
import GestionDatosFM.GestorUsuario;


public class Sistema{
	
	private Usuario usuarioActual;
	private Fecha fechaAGestionar;
	private Partido partidoAGestionar;
	private JugadorPrimera jugadorAGestionar;
	

	public int iniciarSesion(String tipoDoc, int numDoc, char[] cs) throws ExcepcionUsuarioInexistente {
		
		String password;
		String tipoUsuario;
		
		password = Character.toString(cs[0]);
		
		for(int i = 1; i<cs.length; i++)
			password = password+cs[i];
		
		usuarioActual = GestorUsuario.recuperarUsuario(tipoDoc, numDoc, password);
		
		if(usuarioActual instanceof Participante)
			return GestorUsuario.PARTICIPANTE;
		else if(usuarioActual instanceof Periodista)
			return GestorUsuario.PERIODISTA;
		else if(usuarioActual instanceof Administrador)
			return GestorUsuario.ADMINISTRADOR;
		
		
		return 0;
	}

	public String getUsuarioActual() {
		
		return usuarioActual.getNombreApellido();
	}
	
	public Usuario getUsuario(){
		return usuarioActual;
	}
	
	public void tablaGeneral(JTable tabla, JLabel lblTuPuntaje, JLabel lblTuPosicion) {
		
		Usuario[] usuarios;
		ArrayList<ArrayList<Object>> listaPuntajes = new ArrayList<ArrayList<Object>>();
		ArrayList filaAAgregar;
		ArrayList<Object> auxiliar = new ArrayList<Object>();
		Usuario usuarioIndice;
		int i;
		
		usuarios = GestorUsuario.primerosCien();
		
		for(i = 0; i<usuarios.length; i++){
			
			usuarioIndice = usuarios[i];
			
			if(usuarioIndice.getTipoDoc().equals(usuarioActual.getTipoDoc()) && usuarioIndice.getNroDoc().equals(usuarioActual.getNroDoc())){
				
				lblTuPuntaje.setText("Tu Puntaje: "+Integer.toString(usuarioIndice.getEquipo().sumatoriaPuntajes()));
				
				lblTuPosicion.setText("Tu Posicion: "+(i+1));
				
			}
			
			((DefaultTableModel) tabla.getModel()).addRow(new Object[]{i+1, usuarioIndice.getNombreApellido(), usuarioIndice.getEquipo().getNombre(), usuarioIndice.getEquipo().sumatoriaPuntajes()});
			
		}
		
		return;
		
	}

	public void buscarJugador(JComboBox equipoPrimera, JSpinner rangoDesde, JSpinner rangoHasta, JComboBox puesto, JTable tablaBusqueda) {
		
		Object[][] jugadoresFiltrados;
		int i;
		
		for(i = ((DefaultTableModel) tablaBusqueda.getModel()).getRowCount()-1; i>=0; i--){
			
			((DefaultTableModel) tablaBusqueda.getModel()).removeRow(i);
			
		}
		
		jugadoresFiltrados = GestorJugador.filtrar(equipoPrimera.getSelectedItem().toString(), (int)rangoDesde.getValue(), (int)rangoHasta.getValue(), puesto.getSelectedItem().toString());
	
		for(i = 0; i<jugadoresFiltrados.length; i++){
			
			((DefaultTableModel) tablaBusqueda.getModel()).addRow(jugadoresFiltrados[i]);
					
		}
		
	}

	public void crearEquipo(JTable tablaBusqueda) throws ExcepcionFechaInvalida {
		
		Object[][] jugadoresFiltrados;
		int i;
		
		Fecha fechaActual = GestorFecha.getFechaActual();
		
		if(fechaActual.getInicioVeda().compareTo(new Date())<0)	
			throw new ExcepcionFechaInvalida("No puede crear el equipo ya que se encuentra dentro del periodo de Veda de la Fecha actual.");
		
		Formacion nuevaFormacion = GestorFormacionEquipoFantasia.nuevaFormacion(fechaActual);
		GestorEquipoFantasia.nuevoEquipo(usuarioActual);
		usuarioActual.getEquipo().setFormacion(nuevaFormacion, fechaActual);
		
		jugadoresFiltrados = GestorJugador.filtrar("Todos",0, 50000000,"Todos");
		
		
		for(i = 0; i<jugadoresFiltrados.length; i++){
			
			((DefaultTableModel) tablaBusqueda.getModel()).addRow(jugadoresFiltrados[i]);
			
			
		}
		
		return;
		
	}

	public void guardarEquipo(String nombreEquipo) throws ExcepcionEquipoInvalido {
		
		GestorEquipoFantasia.validarNombre(nombreEquipo);
		
		GestorEquipoFantasia.validarEquipoCompleto(usuarioActual.getEquipo());
		
		usuarioActual.getEquipo().setNombre(nombreEquipo);
		
		GestorEquipoFantasia.guardarEquipo(usuarioActual);
		
		return;
		
	}

	public int agregarJugador(JTable tablaBusqueda, JTable tablaEquipo) throws ExcepcionJugadorInvalido, ExcepcionNoSeleccion {
		
		int id, condicionJugador, i = 0, j = 0, cotizacion, jugadorAgregado = 0;
		String nombreJugador, equipo, puesto;
		
		if(tablaBusqueda.getSelectedRowCount() == 0)
			throw new ExcepcionNoSeleccion("Debe seleccionar un jugador para agregar.");
		
		id = (int) ((DefaultTableModel) tablaBusqueda.getModel()).getValueAt(tablaBusqueda.getSelectedRow(), 0);
		nombreJugador = ((DefaultTableModel) tablaBusqueda.getModel()).getValueAt(tablaBusqueda.getSelectedRow(), 1).toString();
		equipo = ((DefaultTableModel) tablaBusqueda.getModel()).getValueAt( tablaBusqueda.getSelectedRow(), 2).toString();
		cotizacion = (int) ((DefaultTableModel) tablaBusqueda.getModel()).getValueAt(tablaBusqueda.getSelectedRow(), 3);
		puesto = ((DefaultTableModel) tablaBusqueda.getModel()).getValueAt(tablaBusqueda.getSelectedRow(), 4).toString();
		
		GestorFormacionEquipoFantasia.validarJugador(usuarioActual.getEquipo().getFormacion(GestorFecha.getFechaActual()), id, equipo, puesto, cotizacion);
		
		if(puesto.equals("ARQ"))
			j = 0;
		else if(puesto.equals("DEF"))
			j = 2;
		else if(puesto.equals("VOL"))
			j = 4;
		else if(puesto.equals("DEL"))
			j = 6;
		
		while(((DefaultTableModel) tablaEquipo.getModel()).getValueAt(i, j) != null)
			i++;
		
		if((j == 0 && i == 0) || (j == 2 && i < 4) || (j == 4 && i < 3) || (j == 6 && i < 3))
			condicionJugador = JugadorPrimera.TITULAR;		
		else
			condicionJugador = JugadorPrimera.SUPLENTE;
		
		usuarioActual.getEquipo().getFormacion(GestorFecha.getFechaActual()).agregarJugador(GestorJugador.getJugador(id), condicionJugador);
		
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(nombreJugador,i,j);
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(id,i,j+1);
		
		if(j == 0){
			if(i == 0)
				jugadorAgregado = 0;
			else if (i == 1)
				jugadorAgregado = 11;
		}
		if(j == 2){
			if(i == 0)
				jugadorAgregado = 1;
			else if (i == 1)
				jugadorAgregado = 2;
			else if (i == 2)
				jugadorAgregado = 3;
			else if (i == 3)
				jugadorAgregado = 4;
			else if (i == 4)
				jugadorAgregado = 12;
		}
		if(j == 4){
			if(i == 0)
				jugadorAgregado = 5;
			else if (i == 1)
				jugadorAgregado = 6;
			else if (i == 2)
				jugadorAgregado = 7;
			else if (i == 3)
				jugadorAgregado = 13;
		}
		if(j == 6){
			if(i == 0)
				jugadorAgregado = 8;
			else if (i == 1)
				jugadorAgregado = 9;
			else if (i == 2)
				jugadorAgregado = 10;
			else if (i == 3)
				jugadorAgregado = 14;
		}
		
		
		return jugadorAgregado;
		
	}

	public void ponerSuplente(JTable tablaEquipo) throws ExcepcionNoSeleccion, ExcepcionJugadorInvalido {

		int filaSeleccionada, columnaSeleccionada, filaSuplente, idTitular, idSuplente;
		String infoTitular, infoSuplente, puesto; 
		
		if(tablaEquipo.getSelectedColumnCount() == 0)
			throw new ExcepcionNoSeleccion("Debe seleccionar un jugador.");
				
		filaSeleccionada = tablaEquipo.getSelectedRow();
		columnaSeleccionada = tablaEquipo.getSelectedColumn();
		
		switch (columnaSeleccionada){
			
			case 0:
				filaSuplente = 1;
				puesto = "Arquero";
				break;
			case 2:
				filaSuplente = 4;
				puesto = "Defensor";
				break;
			case 4:
				filaSuplente = 3;
				puesto = "Volante";
				break;
			case 6:
				filaSuplente = 3;
				puesto = "Delantero";
				break;
			default:
				filaSuplente = 0;
				puesto = "";
				break;	
		}
		
		if(((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSeleccionada, columnaSeleccionada) == null)
			throw new ExcepcionJugadorInvalido("No eligio ningun "+puesto+" titular para cambiar.");
		
		
		if(((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSuplente, columnaSeleccionada) == null)
			throw new ExcepcionJugadorInvalido("No hay ningun "+puesto+" suplente para cambiar.");
				
		if(filaSeleccionada == filaSuplente)
			throw new ExcepcionJugadorInvalido("El jugador elegido ya es suplente. Elija un jugador titular para cambiar por el suplente.");
		
		idTitular = (int) ((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSeleccionada, columnaSeleccionada+1);
		idSuplente = (int) ((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSuplente, columnaSeleccionada+1);
		
		usuarioActual.getEquipo().getFormacion(GestorFecha.getFechaActual()).cambiarTitularSuplente(idTitular, idSuplente);
		
		infoTitular = ((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSeleccionada, columnaSeleccionada).toString();
		infoSuplente = ((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSuplente, columnaSeleccionada).toString();
		
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(infoTitular, filaSuplente, columnaSeleccionada);
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(infoSuplente, filaSeleccionada, columnaSeleccionada);
		
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(idTitular, filaSuplente, columnaSeleccionada+1);
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(idSuplente, filaSeleccionada, columnaSeleccionada+1);
		
		return;
		
	}

	public int quitarJugador(JTable tablaEquipo) throws ExcepcionNoSeleccion {

		int filaSeleccionada, columnaSeleccionada, idJugador, jugadorQuitado = 0;
				
		if(tablaEquipo.getSelectedColumnCount() == 0)
			throw new ExcepcionNoSeleccion("Debe seleccionar un jugador.");
		
		filaSeleccionada = tablaEquipo.getSelectedRow();
		columnaSeleccionada = tablaEquipo.getSelectedColumn();
		
		idJugador = (int) ((DefaultTableModel) tablaEquipo.getModel()).getValueAt(filaSeleccionada, columnaSeleccionada+1);
		
		usuarioActual.getEquipo().getFormacion(GestorFecha.getFechaActual()).quitarJugador(idJugador);
		
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(null, filaSeleccionada, columnaSeleccionada);
		((DefaultTableModel) tablaEquipo.getModel()).setValueAt(null, filaSeleccionada, columnaSeleccionada+1);
		
		if(columnaSeleccionada == 0){
			if(filaSeleccionada == 0)
				jugadorQuitado = 0;
			else if (filaSeleccionada == 1)
				jugadorQuitado = 11;
		}
		if(columnaSeleccionada == 2){
			if(filaSeleccionada == 0)
				jugadorQuitado = 1;
			else if (filaSeleccionada == 1)
				jugadorQuitado = 2;
			else if (filaSeleccionada == 2)
				jugadorQuitado = 3;
			else if (filaSeleccionada == 3)
				jugadorQuitado = 4;
			else if (filaSeleccionada == 4)
				jugadorQuitado = 12;
		}
		if(columnaSeleccionada == 4){
			if(filaSeleccionada == 0)
				jugadorQuitado = 5;
			else if (filaSeleccionada == 1)
				jugadorQuitado = 6;
			else if (filaSeleccionada == 2)
				jugadorQuitado = 7;
			else if (filaSeleccionada == 3)
				jugadorQuitado = 13;
		}
		if(columnaSeleccionada == 6){
			if(filaSeleccionada == 0)
				jugadorQuitado = 8;
			else if (filaSeleccionada == 1)
				jugadorQuitado = 9;
			else if (filaSeleccionada == 2)
				jugadorQuitado = 10;
			else if (filaSeleccionada == 3)
				jugadorQuitado = 14;
		}
		
		return jugadorQuitado;
		
	}

	public void gestionarPuntajesFecha(JComboBox comboFecha, JTable tablaPartidos) throws ExcepcionFechaInvalida{
		try{
			fechaAGestionar = GestorFecha.getFecha(Integer.parseInt((String) comboFecha.getSelectedItem()));
		}
		catch (ExcepcionFechaCerrada excepcion){
			fechaAGestionar=excepcion.getFechaAsociada();
			throw excepcion;
		}
		finally{
			for(int i = 0; i<GestorPartido.CANTIDADPARTIDOS; i++){			
				((DefaultTableModel) tablaPartidos.getModel()).setValueAt(fechaAGestionar.getPartido(i).getNombreLocal(), i, 0);
				((DefaultTableModel) tablaPartidos.getModel()).setValueAt(fechaAGestionar.getPartido(i).getNombreVisitante(), i, 1);	
			}
		}
		
		return;
	}

	public static String[] listaFechas() {
		
		ArrayList<String> auxiliar = new ArrayList<String>();
		String retorno[];
		int i;
		
		for(i = 1; i<=GestorFecha.getFechaActual().getNumeroFecha(); i++){
			
			auxiliar.add(""+i);
			
		}
		
		retorno = new String[auxiliar.size()];
		
		for(i = 0; i<auxiliar.size(); i++){
			
			retorno[i] = auxiliar.get(i);
			
		}

		return retorno;
	}

	public void gestionarPuntajesPartido(int indicePartido, JTable tablaJugadoresLocal, JTable tablaJugadoresVisitante) {
		
		int i;
		
		partidoAGestionar = fechaAGestionar.getPartido(indicePartido);
		GestorPartido.incluirJugadores(partidoAGestionar);
		ArrayList<JugadorPrimera> plantelLocal = partidoAGestionar.getPlantelLocal();
		ArrayList<JugadorPrimera> plantelVisitante = partidoAGestionar.getPlantelVisitante();
		
			for(i = 0; i<plantelLocal.size(); i++){
			if(!fechaAGestionar.getEstado())
				plantelLocal.get(i).setPuntuacion(GestorPuntuacion.getPuntuacion(plantelLocal.get(i), fechaAGestionar));
			
				((DefaultTableModel) tablaJugadoresLocal.getModel()).addRow(new Object[]{i+1, plantelLocal.get(i).getNombreApellido(), plantelLocal.get(i).getPuesto()});
			
			}
		
			for(i = 0; i<plantelVisitante.size(); i++){
			if(!fechaAGestionar.getEstado())
				plantelVisitante.get(i).setPuntuacion(GestorPuntuacion.getPuntuacion(plantelVisitante.get(i), fechaAGestionar));
			
				((DefaultTableModel) tablaJugadoresVisitante.getModel()).addRow(new Object[]{i+1, plantelVisitante.get(i).getNombreApellido(), plantelVisitante.get(i).getPuesto()});
				
			}
		
	}

	public void setJugadorAGestionar(int localia, int indiceJugador, JCheckBox jugoMasDe20, JCheckBox fueFigura, JSpinner calificacion, JTextField golesConvertidos, JTextField golesEnContra, JTextField golesRecibidos, JTextField penalesConvertidos, JTextField penalesErrados, JTextField penalesAtajados, JRadioButton amarilla, JRadioButton roja, JRadioButton ninguna) {
		
		Puntuacion puntuacionJugador=null;
		
		if(localia == Partido.LOCAL)
			jugadorAGestionar = partidoAGestionar.getPlantelLocal().get(indiceJugador);
			
		if(localia == Partido.VISITANTE)
			jugadorAGestionar = partidoAGestionar.getPlantelVisitante().get(indiceJugador);
			
		if(!fechaAGestionar.getEstado()){
			puntuacionJugador = GestorPuntuacion.getPuntuacion(jugadorAGestionar, fechaAGestionar);
			jugadorAGestionar.setPuntuacion(puntuacionJugador);
		}
				
		if(puntuacionJugador != null){
						
			jugoMasDe20.setSelected(puntuacionJugador.jugoMasDeVeinte());
			
			fueFigura.setSelected(puntuacionJugador.fueFigura());
			
			calificacion.setValue(puntuacionJugador.getPuntajeGeneral());
			
			golesConvertidos.setText(Integer.toString(puntuacionJugador.getGolesConvertidos()));
			
			golesEnContra.setText(Integer.toString(puntuacionJugador.getGolesEnContra()));
			
			golesRecibidos.setText(Integer.toString(puntuacionJugador.getGolesRecibidos()));
			
			penalesConvertidos.setText(Integer.toString(puntuacionJugador.getPenalesConvertidos()));
			
			penalesErrados.setText(Integer.toString(puntuacionJugador.getPenalesErrados()));
			
			penalesAtajados.setText(Integer.toString(puntuacionJugador.getPenalesAtajados()));
			
			amarilla.setSelected(puntuacionJugador.getAmarilla());
			
			roja.setSelected(puntuacionJugador.getRoja());
			
			ninguna.setSelected(!puntuacionJugador.getRoja()&&!puntuacionJugador.getAmarilla());
			
			
			
		}
		
	
	}

	public void guardarPuntuacionJugador(JCheckBox chckbxJugoMasDe20, JCheckBox chckbxFueFigura, JSpinner spinnerCalificacion, JTextField textFieldGolesConvertidos,
			JTextField textFieldGolesEnContra, JTextField textFieldGolesRecibidos, JTextField textFieldPenalesConvertidos, JTextField textFieldPenalesErrados,
			JTextField textFieldPenalesAtajados, JRadioButton rdbtnAmarilla, JRadioButton rdbtnRoja, JRadioButton rdbtnNinguna) {
		
		boolean jugoMasDe20, fueFigura, tarjetaAmarilla, tarjetaRoja;
		int calificacion, golesConvertidos, golesEnContra, golesRecibidos, penalesConvertidos, penalesErrados, penalesAtajados;
		
		jugoMasDe20 = chckbxJugoMasDe20.isSelected();
		fueFigura = chckbxFueFigura.isSelected();
		
		calificacion = (int) spinnerCalificacion.getValue();
		
		if(textFieldGolesConvertidos.getText().equals(""))
			golesConvertidos = 0;
		else 
			golesConvertidos = Integer.parseInt(textFieldGolesConvertidos.getText());
		
		if(textFieldGolesEnContra.getText().equals(""))
			golesEnContra = 0;
		else				
			golesEnContra = Integer.parseInt(textFieldGolesEnContra.getText());
		
		if(textFieldGolesRecibidos.getText().equals(""))
			golesRecibidos = 0;
		else
			golesRecibidos = Integer.parseInt(textFieldGolesRecibidos.getText());
		
		if(textFieldPenalesConvertidos.getText().equals(""))
			penalesConvertidos = 0;
		else
			penalesConvertidos = Integer.parseInt(textFieldPenalesConvertidos.getText());
		
		if(textFieldPenalesErrados.getText().equals(""))
			penalesErrados = 0;
		else
			penalesErrados = Integer.parseInt(textFieldPenalesErrados.getText());
		
		if(textFieldPenalesAtajados.getText().equals(""))
			penalesAtajados = 0;
		else
			penalesAtajados = Integer.parseInt(textFieldPenalesAtajados.getText());
		
		tarjetaAmarilla = rdbtnAmarilla.isSelected();
		tarjetaRoja = rdbtnRoja.isSelected();
		
		GestorPuntuacion.crearPuntuacion(jugadorAGestionar, jugoMasDe20, fueFigura, calificacion, golesConvertidos, golesEnContra, golesRecibidos, 
				penalesConvertidos, penalesErrados, penalesAtajados, tarjetaAmarilla, tarjetaRoja);
		
		
	}

	public void validarGestionEquipoLocal() throws ExcepcionPuntuacionInvalida {
		GestorPuntuacion.validarPuntuacionEquipo(partidoAGestionar.getPlantelLocal(), fechaAGestionar, Partido.LOCAL);
		return;
	}

	public void validarGestionEquipoVisitante() throws ExcepcionPuntuacionInvalida {
		GestorPuntuacion.validarPuntuacionEquipo(partidoAGestionar.getPlantelVisitante(), fechaAGestionar, Partido.VISITANTE);
		return;
	}

	public void validarConsistenciaPartido() throws ExcepcionPuntuacionInvalida {
		GestorPartido.validarConsistencia(partidoAGestionar, fechaAGestionar);
		return;
	}

	public void cerrarFecha() throws ExcepcionPuntuacionInvalida{
		
		GestorFecha.cerrarFecha();
		GestorPuntuacion.calcularPuntuaciones(GestorFecha.getFechaActual().getNumeroFecha());
		GestorFormacionEquipoFantasia.crearFormacionesSiguienteFecha();
		GestorFecha.cerrarLaFecha();
		return;
		
	}

	public void mostrarEstadoPartidos(JTable tablaPuntuaciones) {
		
		ArrayList<Partido> partidosFechaActual = GestorFecha.getFechaActual().getTodosLosPartidos();
		ArrayList<JugadorPrimera> plantelLocal, plantelVisitante;
		int i, j;
		
		
		for(i = 0; i<partidosFechaActual.size(); i++){
			
			((DefaultTableModel) tablaPuntuaciones.getModel()).setValueAt(partidosFechaActual.get(i).getNombreLocal(), i, 0);
			((DefaultTableModel) tablaPuntuaciones.getModel()).setValueAt(partidosFechaActual.get(i).getNombreVisitante(), i, 1);
			
			
			GestorPartido.incluirJugadores(partidosFechaActual.get(i));
			
			plantelLocal = partidosFechaActual.get(i).getPlantelLocal();
			plantelVisitante = partidosFechaActual.get(i).getPlantelVisitante();
			
			for(j = 0; j<plantelLocal.size(); j++){
				
				GestorJugador.incluirPuntuacion(GestorFecha.getFechaActual(), plantelLocal.get(j));
				
			}
			
			for(j = 0; j<plantelVisitante.size(); j++){
				
				GestorJugador.incluirPuntuacion(GestorFecha.getFechaActual(), plantelVisitante.get(j));
				
			}
			
			if(partidosFechaActual.get(i).puntajeCompleto(GestorFecha.getFechaActual().getNumeroFecha()))
				((DefaultTableModel) tablaPuntuaciones.getModel()).setValueAt("SI", i, 2);
			else
				((DefaultTableModel) tablaPuntuaciones.getModel()).setValueAt("NO", i, 2);
		}
		
		return;
	}

	public void setFigura(JugadorPrimera elegido, JugadorPrimera[] listaJugadores) {
		
		elegido.getPuntuacion(GestorFecha.getFechaActual().getNumeroFecha()).setFueFigura(true);
		
		for(int i=0; i<listaJugadores.length; i++){
			
			if(listaJugadores[i]!=elegido)
				elegido.getPuntuacion(GestorFecha.getFechaActual().getNumeroFecha()).setFueFigura(false);
		
		}
	}

	public void guardarPuntuacionPartido() {
		
		GestorPuntuacion.guardarPuntuaciones(partidoAGestionar.getEquipoLocal(), partidoAGestionar.getEquipoVisitante());
		
		
	}
		
}
